Error: COMPILER_WARNING (CWE-704): [#def1] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/conf.c: scope_hint: In function ‘next_chunk’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/conf.c:78:21: warning[-Wdiscarded-qualifiers]: initialization discards ‘const’ qualifier from pointer target type # 78 | char *sep = strchr(s, c); # | ^~~~~~ # 76| static char *next_chunk(const char *s, char c) # 77| { # 78|-> char *sep = strchr(s, c); # 79| return sep ? sep + 1 : NULL; # 80| } Error: GCC_ANALYZER_WARNING (CWE-775): [#def2] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:111:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_true: following ‘true’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:110:67: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:111:17: throw: if ‘_exit’ throws an exception... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:111:17: danger: ‘s’ leaks here # 109| if ((stat(argv[1], &sb))) { # 110| fprintf(stderr, "Can't stat() %s: %i\n", argv[1], errno); # 111|-> _exit(1); # 112| } # 113| Error: GCC_ANALYZER_WARNING (CWE-775): [#def3] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:125:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:12: branch_true: following ‘true’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:27: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:20: branch_true: following ‘true’ branch (when ‘fd < 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:124:64: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:125:25: throw: if ‘_exit’ throws an exception... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:125:25: danger: ‘s’ leaks here # 123| if ((fd = inotify_init1(IN_CLOEXEC)) < 0) { # 124| fprintf(stderr, "inotify_init1: %i\n", errno); # 125|-> _exit(1); # 126| } # 127| Error: GCC_ANALYZER_WARNING (CWE-775): [#def4] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:130:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:12: branch_true: following ‘true’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:27: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:20: branch_false: following ‘false’ branch (when ‘fd >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:21: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_true: following ‘true’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:129:68: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:130:25: throw: if ‘_exit’ throws an exception... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:130:25: danger: ‘s’ leaks here # 128| if (inotify_add_watch(fd, argv[1], IN_CREATE) < 0) { # 129| fprintf(stderr, "inotify_add_watch: %i\n", errno); # 130|-> _exit(1); # 131| } # 132| Error: GCC_ANALYZER_WARNING (CWE-775): [#def5] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:139:33: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:12: branch_true: following ‘true’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:27: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:20: branch_false: following ‘false’ branch (when ‘fd >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:21: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:139:33: throw: if ‘_exit’ throws an exception... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:139:33: danger: ‘s’ leaks here # 137| if (n < 0) { # 138| fprintf(stderr, "inotify read: %i\n", errno); # 139|-> _exit(1); # 140| } # 141| buf[n - 1] = '\0'; Error: GCC_ANALYZER_WARNING (CWE-775): [#def6] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:164:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:12: branch_true: following ‘true’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:27: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:20: branch_false: following ‘false’ branch (when ‘fd >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:21: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:137:28: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:141:29: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:164:25: throw: if ‘_exit’ throws an exception... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:164:25: danger: ‘s’ leaks here # 162| if (ev->len > NAME_MAX + 1 || ev->name[ev->len - 1] != '\0') { # 163| fprintf(stderr, "Invalid filename from inotify\n"); # 164|-> _exit(1); # 165| } # 166| Error: GCC_ANALYZER_WARNING (CWE-775): [#def7] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:170:25: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:12: branch_true: following ‘true’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:27: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:123:20: branch_false: following ‘false’ branch (when ‘fd >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:21: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:128:20: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:137:28: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:141:29: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:162:20: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:168:20: branch_true: following ‘true’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:169:72: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:170:25: throw: if ‘_exit’ throws an exception... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:170:25: danger: ‘s’ leaks here # 168| if ((stat(path, &sb))) { # 169| fprintf(stderr, "Can't stat() %s: %i\n", path, errno); # 170|-> _exit(1); # 171| } # 172| Error: GCC_ANALYZER_WARNING (CWE-775): [#def8] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:181:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:179:12: branch_true: following ‘true’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:180:17: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:181:17: throw: if ‘_exit’ throws an exception... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:181:17: danger: ‘s’ leaks here # 179| if (ret <= 0 || ret >= (int)sizeof(a.sun_path)) { # 180| fprintf(stderr, "Invalid socket path\n"); # 181|-> _exit(2); # 182| } # 183| Error: GCC_ANALYZER_WARNING (CWE-775): [#def9] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:186:17: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:179:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:184:14: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:184:12: branch_true: following ‘true’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:185:17: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:186:17: throw: if ‘_exit’ throws an exception... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:186:17: danger: ‘s’ leaks here # 184| if ((sb.st_mode & S_IFMT) != S_IFSOCK) { # 185| fprintf(stderr, "%s is not a socket\n", a.sun_path); # 186|-> _exit(2); # 187| } # 188| Error: GCC_ANALYZER_WARNING (CWE-775): [#def10] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:189:16: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘s’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:86:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:85:13: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:91:9: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:99:12: branch_false: following ‘false’ branch (when ‘argc == 2’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:18: acquire_resource: stream socket created here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:104:12: branch_false: following ‘false’ branch (when ‘s >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:13: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:109:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:114:14: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:179:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:184:14: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:184:12: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:184:12: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:189:16: throw: if ‘connect’ throws an exception... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/passt-repair.c:189:16: danger: ‘s’ leaks here # 187| } # 188| # 189|-> while (connect(s, (struct sockaddr *)&a, sizeof(a))) { # 190| if (inotify_dir && errno == ECONNREFUSED) # 191| continue; Error: GCC_ANALYZER_WARNING (CWE-775): [#def11] passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:402:12: warning[-Wanalyzer-fd-leak]: leak of file descriptor ‘dup2(s, (int)fd)’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:141:5: enter_function: entry to ‘main’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:207:25: call_function: inlined call to ‘strncpy’ from ‘main’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:210:32: branch_true: following ‘true’ branch (when ‘p’ is non-NULL)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:211:33: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:323:21: branch_true: following ‘true’ branch (when ‘i != 100’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:323:21: branch_true: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:328:20: branch_false: following ‘false’ branch (when ‘s >= 0’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:333:21: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:345:27: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:348:28: call_function: inlined call to ‘recv’ from ‘main’ passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:348:27: branch_false: following ‘false’ branch... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:389:12: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:389:12: branch_false: following ‘false’ branch (when ‘i != 100’)... passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:394:9: branch_false: ...to here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:402:13: acquire_resource: opened here passt-2ba9fd58183cd1d6e01c9b95a1fd433f2e7da42a/qrap.c:402:12: danger: ‘dup2(s, (int)fd)’ leaks here; was opened at [(19)](sarif:/runs/0/results/0/codeFlows/0/threadFlows/0/locations/18) # 400| fprintf(stderr, "Connected to %s\n", addr.sun_path); # 401| # 402|-> if (dup2(s, (int)fd) < 0) { # 403| perror("dup"); # 404| exit(EXIT_FAILURE);
| analyzer-version-clippy | 1.92.0 |
| analyzer-version-cppcheck | 2.19.1 |
| analyzer-version-gcc | 16.0.0 |
| analyzer-version-gcc-analyzer | 16.0.0 |
| analyzer-version-shellcheck | 0.11.0 |
| analyzer-version-unicontrol | 0.0.2 |
| enabled-plugins | clippy, cppcheck, gcc, shellcheck, unicontrol |
| exit-code | 0 |
| host | ip-172-16-1-37.us-west-2.compute.internal |
| known-false-positives | /usr/share/csmock/known-false-positives.js |
| known-false-positives-rpm | known-false-positives-0.0.0.20250521.132812.g8eff701.main-1.el9.noarch |
| mock-config | fedora-rawhide-x86_64 |
| project-name | passt-0^20251223.g2ba9fd5-1.fc44 |
| store-results-to | /tmp/tmp0kb5i3q0/passt-0^20251223.g2ba9fd5-1.fc44.tar.xz |
| time-created | 2026-01-08 20:07:02 |
| time-finished | 2026-01-08 20:08:54 |
| tool | csmock |
| tool-args | '/usr/bin/csmock' '-r' 'fedora-rawhide-x86_64' '-t' 'gcc,cppcheck,clippy,shellcheck,unicontrol' '-o' '/tmp/tmp0kb5i3q0/passt-0^20251223.g2ba9fd5-1.fc44.tar.xz' '--gcc-analyze' '--unicontrol-notests' '--unicontrol-bidi-only' '--install' 'pam' '--gcc-analyzer-bin=/usr/bin/gcc' '/tmp/tmp0kb5i3q0/passt-0^20251223.g2ba9fd5-1.fc44.src.rpm' |
| tool-version | csmock-3.8.3.20251215.161544.g62de9a5-1.el9 |